







[This topic is pre-release documentation and is subject to change in future releases. Blank topics are included as placeholders.]
Syntax
C# |
---|
[SerializableAttribute] public class Bag<T> |
Visual Basic (Declaration) |
---|
<SerializableAttribute> _ Public Class Bag(Of T) |
Visual C++ |
---|
[SerializableAttribute] generic<typename T> public ref class Bag |
Type Parameters
- T
The type exposes the following members.
Public Constructors
Name | Description | |
---|---|---|
![]() | Bag<(Of <T>)>Bag<(Of <T>)>New | Overloaded. |
Public Methods
Name | Description | |
---|---|---|
![]() | Add |
Adds a new item to the bag. Since bags can contain duplicate items, the item
is added even if the bag already contains an item equal to item. In
this case, the count of items for the representative item is increased by one, but the existing
represetative item is unchanged.
|
![]() | AddMany |
Adds all the items in collection to the bag.
|
![]() | AddRepresentative |
Adds a new item to the bag. Since bags can contain duplicate items, the item
is added even if the bag already contains an item equal to item. In
this case (unlike Add), the new item becomes the representative item.
|
![]() | AsReadOnly |
Provides a read-only view of this collection. The returned ICollection<T> provides
a view of the collection that prevents modifications to the collection. Use the method to provide
access to the collection without allowing changes. Since the returned object is just a view,
changes to the collection will be reflected in the view.
(Inherited from CollectionBase<(Of <T>)>.) |
![]() | ChangeNumberOfCopies |
Changes the number of copies of an existing item in the bag, or adds the indicated number
of copies of the item to the bag.
|
![]() | Clear |
Removes all items from the bag.
(Overrides CollectionBase<(Of <T>)>..::Clear()().) |
![]() | Clone |
Makes a shallow clone of this bag; i.e., if items of the
bag are reference types, then they are not cloned. If T is a value type,
then each element is copied as if by simple assignment.
|
![]() | CloneContents |
Makes a deep clone of this bag. A new bag is created with a clone of
each element of this bag, by calling ICloneable.Clone on each element. If T is
a value type, then each element is copied as if by simple assignment.
|
![]() | Contains |
Determines if this bag contains an item equal to item. The bag
is not changed.
|
![]() | ConvertAll<(Of <TOutput>)> |
Convert this collection of items by applying a delegate to each item in the collection. The resulting enumeration
contains the result of applying converter to each item in this collection, in
order.
(Inherited from CollectionBase<(Of <T>)>.) |
![]() | CopyTo |
Copies all the items in the collection into an array. Implemented by
using the enumerator returned from GetEnumerator to get all the items
and copy them to the provided array.
(Inherited from CollectionBase<(Of <T>)>.) |
![]() | CountWhere |
Counts the number of items in the collection that satisfy the condition
defined by predicate.
(Inherited from CollectionBase<(Of <T>)>.) |
![]() | Difference |
Computes the difference of this bag with another bag. The difference of these two bags
is all items that appear in this bag, but not in otherBag. If an item appears X times in this bag,
and Y times in the other bag, the difference contains the item X - Y times (zero times if Y >= X). A new bag is
created with the difference of the bags and is returned. This bag and the other bag
are unchanged.
|
![]() | DifferenceWith |
Computes the difference of this bag with another bag. The difference of these two bags
is all items that appear in this bag, but not in otherBag. If an item appears X times in this bag,
and Y times in the other bag, the difference contains the item X - Y times (zero times if Y >= X). This bag receives
the difference of the two bags; the other bag is unchanged.
|
![]() | DistinctItems |
Enumerates all the items in the bag, but enumerates equal items
just once, even if they occur multiple times in the bag.
|
![]() | Equals | (Inherited from Object.) |
![]() | Exists |
Determines if the collection contains any item that satisfies the condition
defined by predicate.
(Inherited from CollectionBase<(Of <T>)>.) |
![]() | FindAll |
Enumerates the items in the collection that satisfy the condition defined
by predicate.
(Inherited from CollectionBase<(Of <T>)>.) |
![]() | ForEach |
Performs the specified action on each item in this collection.
(Inherited from CollectionBase<(Of <T>)>.) |
![]() | GetEnumerator |
Returns an enumerator that enumerates all the items in the bag.
If an item is present multiple times in the bag, the representative item is yielded by the
enumerator multiple times. The order of enumeration is haphazard and may change.
(Overrides CollectionBase<(Of <T>)>..::GetEnumerator()().) |
![]() | GetHashCode | Serves as a hash function for a particular type. GetHashCode()() is suitable for use in hashing algorithms and data structures like a hash table. (Inherited from Object.) |
![]() | GetRepresentativeItem |
Returns the representative item stored in the bag that is equal to
the provided item. Also returns the number of copies of the item in the bag.
|
![]() | GetType | Gets the Type of the current instance. (Inherited from Object.) |
![]() | Intersection |
Computes the intersection of this bag with another bag. The intersection of two bags
is all items that appear in both of the bags. If an item appears X times in one bag,
and Y times in the other bag, the intersection contains the item Minimum(X,Y) times. A new bag is
created with the intersection of the bags and is returned. This bag and the other bag
are unchanged.
|
![]() | IntersectionWith |
Computes the intersection of this bag with another bag. The intersection of two bags
is all items that appear in both of the bags. If an item appears X times in one bag,
and Y times in the other bag, the sum contains the item Minimum(X,Y) times. This bag receives
the intersection of the two bags, the other bag is unchanged.
|
![]() | IsDisjointFrom |
Determines if this bag is disjoint from another bag. Two bags are disjoint
if no item from one set is equal to any item in the other bag.
|
![]() | IsEqualTo |
Determines if this bag is equal to another bag. This bag is equal to
otherBag if they contain the same number of
of copies of equal elements.
|
![]() | IsProperSubsetOf |
Determines if this bag is a proper subset of another bag. Neither bag is modified.
This bag is a subset of otherBag if every element in this bag
is also in otherBag, at least the same number of
times. Additional, this bag must have strictly fewer items than otherBag.
|
![]() | IsProperSupersetOf |
Determines if this bag is a proper superset of another bag. Neither bag is modified.
This bag is a proper superset of otherBag if every element in
otherBag is also in this bag, at least the same number of
times. Additional, this bag must have strictly more items than otherBag.
|
![]() | IsSubsetOf |
Determines if this bag is a subset of another ba11 items in this bag.
|
![]() | IsSupersetOf |
Determines if this bag is a superset of another bag. Neither bag is modified.
This bag is a superset of otherBag if every element in
otherBag is also in this bag, at least the same number of
times.
|
![]() | NumberOfCopies |
Returns the number of copies of item in the bag.
|
![]() | Remove |
Searches the bag for one item equal to item, and if found,
removes it from the bag. If not found, the bag is unchanged.
|
![]() | RemoveAll |
Removes all the items in the collection that satisfy the condition
defined by predicate.
(Inherited from CollectionBase<(Of <T>)>.) |
![]() | RemoveAllCopies |
Searches the bag for all items equal to item, and
removes all of them from the bag. If not found, the bag is unchanged.
|
![]() | RemoveMany |
Removes all the items in collection from the bag. Items that
are not present in the bag are ignored.
|
![]() | Sum |
Computes the sum of this bag with another bag. he sum of two bags
is all items from both of the bags. If an item appears X times in one bag,
and Y times in the other bag, the sum contains the item (X+Y) times. A new bag is
created with the sum of the bags and is returned. This bag and the other bag
are unchanged.
|
![]() | SumWith |
Computes the sum of this bag with another bag. The sum of two bags
is all items from both of the bags. If an item appears X times in one bag,
and Y times in the other bag, the sum contains the item (X+Y) times. This bag receives
the sum of the two bags, the other bag is unchanged.
|
![]() | SymmetricDifference |
Computes the symmetric difference of this bag with another bag. The symmetric difference of two bags
is all items that appear in either of the bags, but not both. If an item appears X times in one bag,
and Y times in the other bag, the symmetric difference contains the item AbsoluteValue(X - Y) times. A new bag is
created with the symmetric difference of the bags and is returned. This bag and the other bag
are unchanged.
|
![]() | SymmetricDifferenceWith |
Computes the symmetric difference of this bag with another bag. The symmetric difference of two bags
is all items that appear in either of the bags, but not both. If an item appears X times in one bag,
and Y times in the other bag, the symmetric difference contains the item AbsoluteValue(X - Y) times. This bag receives
the symmetric difference of the two bags; the other bag is unchanged.
|
![]() | ToArray |
Creates an array of the correct size, and copies all the items in the
collection into the array, by calling CopyTo.
(Inherited from CollectionBase<(Of <T>)>.) |
![]() | ToString |
Shows the string representation of the collection. The string representation contains
a list of the items in the collection. Contained collections (except string) are expanded
recursively.
(Inherited from CollectionBase<(Of <T>)>.) |
![]() | TrueForAll |
Determines if all of the items in the collection satisfy the condition
defined by predicate.
(Inherited from CollectionBase<(Of <T>)>.) |
![]() | Union |
Computes the union of this bag with another bag. The union of two bags
is all items from both of the bags. If an item appears X times in one bag,
and Y times in the other bag, the union contains the item Maximum(X,Y) times. A new bag is
created with the union of the bags and is returned. This bag and the other bag
are unchanged.
|
![]() | UnionWith |
Computes the union of this bag with another bag. The union of two bags
is all items from both of the bags. If an item appears X times in one bag,
and Y times in the other bag, the union contains the item Maximum(X,Y) times. This bag receives
the union of the two bags, the other bag is unchanged.
|
Protected Methods
Name | Description | |
---|---|---|
![]() | Finalize | Allows an Object to attempt to free resources and perform other cleanup operations before the Object is reclaimed by garbage collection. (Inherited from Object.) |
![]() | MemberwiseClone | Creates a shallow copy of the current Object. (Inherited from Object.) |
Public Properties
Name | Description | |
---|---|---|
![]() | Comparer |
Returns the IEqualityComparer<T> used to compare items in this bag.
|
![]() | Count |
Returns the number of items in the bag.
(Overrides CollectionBase<(Of <T>)>..::Count.) |
Explicit Interface Implementations
Name | Description | |
---|---|---|
![]() ![]() | ICollection<(Of <T>)>..::IsReadOnly | (Inherited from CollectionBase<(Of <T>)>.) |
![]() ![]() | ICollection..::CopyTo |
Copies all the items in the collection into an array. Implemented by
using the enumerator returned from GetEnumerator to get all the items
and copy them to the provided array.
(Inherited from CollectionBase<(Of <T>)>.) |
![]() ![]() | ICollection..::IsSynchronized |
Indicates whether the collection is synchronized.
(Inherited from CollectionBase<(Of <T>)>.) |
![]() ![]() | ICollection..::SyncRoot |
Indicates the synchronization object for this collection.
(Inherited from CollectionBase<(Of <T>)>.) |
![]() ![]() | IEnumerable..::GetEnumerator |
Provides an IEnumerator that can be used to iterate all the members of the
collection. This implementation uses the IEnumerator<T> that was overridden
by the derived classes to enumerate the members of the collection.
(Inherited from CollectionBase<(Of <T>)>.) |
![]() ![]() | ICloneable..::Clone |
Makes a shallow clone of this bag; i.e., if items of the
bag are reference types, then they are not cloned. If T is a value type,
then each element is copied as if by simple assignment.
|
See Also
Wintellect.PowerCollections Namespace